package context

//Beego版本验证
//import "github.com/beego/beego/v2/core/validation"
//
//type LoginContext struct {
//	Telephone  string `valid:"Required;Mobile;" json:"telephone"`     // 手机号码
//	Password   string `valid:"Required;Range(6,16);" json:"password"` // 密码
//	CaptchaId  string `json:"captchaId"`                              // 验证码的key
//	VerifyCode string `json:"verifyCode"`                             // 具体输入的验证码
//}
//
///*
//*
//
//		Required 不为空，即各个类型要求不为其零值
//		Min(min int) 最小值，有效类型：int，其他类型都将不能通过验证
//		Max(max int) 最大值，有效类型：int，其他类型都将不能通过验证
//		Range(min, max int) 数值的范围，有效类型：int，他类型都将不能通过验证
//		MinSize(min int) 最小长度，有效类型：string slice，其他类型都将不能通过验证
//		MaxSize(max int) 最大长度，有效类型：string slice，其他类型都将不能通过验证
//		Length(length int) 指定长度，有效类型：string slice，其他类型都将不能通过验证
//		Alpha alpha字符，有效类型：string，其他类型都将不能通过验证
//		Numeric 数字，有效类型：string，其他类型都将不能通过验证
//		AlphaNumeric alpha 字符或数字，有效类型：string，其他类型都将不能通过验证
//		Match(pattern string) 正则匹配，有效类型：string，其他类型都将被转成字符串再匹配(fmt.Sprintf(“%v”, obj).Match)
//		AlphaDash alpha 字符或数字或横杠 -_，有效类型：string，其他类型都将不能通过验证
//		Email 邮箱格式，有效类型：string，其他类型都将不能通过验证
//		IP IP 格式，目前只支持 IPv4 格式验证，有效类型：string，其他类型都将不能通过验证
//		Base64 base64 编码，有效类型：string，其他类型都将不能通过验证
//		Mobile 手机号，有效类型：string，其他类型都将不能通过验证
//		Tel 固定电话号，有效类型：string，其他类型都将不能通过验证
//		Phone 手机号或固定电话号，有效类型：string，其他类型都将不能通过验证
//		ZipCode 邮政编码，有效类型：string，其他类型都将不能通过验证
//	 * @author feige
//	 * @date 2023-09-29
//	 * @desc
//*/
//var messages = map[string]string{
//	"Required": "不能为空",
//	"Range":    "长度必须在%d~%d之间",
//	"MinSize":  "最短长度为 %d",
//	"Length":   "长度必须为 %d",
//	"Numeric":  "必须是有效的数字",
//	"Email":    "必须是有效的电子邮件地址",
//	"Mobile":   "必须是有效的手机号码",
//}
//
///**
//* @author feige
//* @date 2023-09-29
//* @desc  自定义验证规则
// */
//func (context *LoginContext) Validate() map[string]string {
//	validator := validation.Validation{}
//	validator.Required(context.Telephone, "telephone")
//	validator.Required(context.Password, "password")
//	validator.Range(context.Password, 5, 16, "password").Message("密码长短必须是6~16")
//	validation.SetDefaultMessage(messages)
//	isValid, err := validator.Valid(context)
//	m := map[string]string{}
//	if err != nil {
//		m["error"] = "验证出错了!"
//		return m
//	}
//	if !isValid {
//		for _, err := range validator.Errors {
//			m[err.Key] = err.Message
//		}
//		return m
//	}
//
//	return nil
//}
